🔍 Lecteur RFID/NFC DIY avec Arduino

Ce projet vous permettra de construire un lecteur RFID/NFC capable de lire des cartes et des tags NFC. Il affichera l’UID des tags détectés sur un moniteur série.

🛠️ Matériel Nécessaire

📡 Schéma de Montage

  +------------+    +-------------+
  |  Arduino   |    |   Module    |
  |   Uno/ESP  |    |    PN532    |
  +------------+    +-------------+
         |                |
         | SDA  --------> SDA
         | SCL  --------> SCL
         | GND  --------> GND
         | 5V   --------> VCC
         |
         | LED (optionnel)   Buzzer (optionnel)
         |    |                 |
        GND  330Ω              GND
         |                      |
        LED                    Buzzer
        

🔹 Le module PN532 est connecté en **I2C** (SDA/SCL) pour la communication avec l’Arduino.

📌 Étapes de Construction

1️⃣ Connexion du Module RFID/NFC

2️⃣ Ajout des Indicateurs (LED/Buzzer)

💻 Code Arduino

Voici le code pour détecter un tag NFC et afficher son UID dans le moniteur série :


#include <Wire.h>
#include <Adafruit_PN532.h>

#define SDA_PIN 21  // GPIO21 (ESP32) / A4 (Arduino Uno)
#define SCL_PIN 22  // GPIO22 (ESP32) / A5 (Arduino Uno)

Adafruit_PN532 nfc(SDA_PIN, SCL_PIN);

void setup() {
    Serial.begin(115200);
    Serial.println("Initialisation du lecteur NFC...");
    nfc.begin();
    
    if (!nfc.getFirmwareVersion()) {
        Serial.println("Erreur : PN532 non détecté !");
        while (1);
    }
    Serial.println("Lecteur NFC détecté !");
    nfc.SAMConfig();
}

void loop() {
    Serial.println("Scan en cours...");
    uint8_t uid[7];
    uint8_t uidLength;
    
    if (nfc.readPassiveTargetID(PN532_MIFARE_ISO14443A, uid, &uidLength)) {
        Serial.print("Tag détecté ! UID : ");
        for (uint8_t i = 0; i < uidLength; i++) {
            Serial.print(uid[i], HEX);
            Serial.print(" ");
        }
        Serial.println();
        delay(1000);
    }
}
        

🔍 Explication du Code

🚀 Améliorations Possibles